// 因为整个项目中有很多地方都要使用请求 这里我们对请求和响应进行封装处理
import axios from 'axios'
import { Toast } from 'vant';
const server = axios.create({
    // baseURL: 'https://m.douyu.com', // 请求公共自定
    timeout: 5000
})


// 请求拦截
server.interceptors.request.use(config => {
    // config关于请求相关配置的对象
    return config
}, err => {
    // Promise.reject(err)
    console.error(err)
})


// 响应拦截
server.interceptors.response.use(res => {
    switch(res.data.code) {
        case 0:
            return res.data
        case 1: 
            Toast.fail('服务错误')
            break;
        case 99:
            Toast.fail('接口维护中')
            break;
        case 1000:
            Toast.fail('post json参数错误')
            break;
        case 1001:
            Toast.fail('api身份信息为(aid,auth,time必填)')
            break
    }
    
}, err => {
    console.error(err)
})
/**
 * @url 请求地址
 * @method 请求方法
 * @data 请求题先相关参数
 * @params 请求地址上添加的先关参数
 * **/
export default function request({url, method = 'get', data = {}, params = {}}) {
    return server({
        url,
        method,
        data,
        params
    })
}